const path = require("path");
const opn = require("opn");
const getEntry = require("./midea-utils").getEntry;
const webpack = require("webpack");
function resolve(dir) {
    return path.join(__dirname, dir);
}
// 配置服务启动后打开浏览器访问的地址
const openUrl = {
    port: "8080",
    module: "" // 启动后默认打开的模块
};
module.exports = {
    // entry: './src/modules/index/main.js',
    runtimeCompiler: true,
    publicPath: "./",
    lintOnSave: false, // 关闭eslint
    // publicPath: '',
    devServer: {
        // host: 'localhost',
        disableHostCheck: true,
        host: openUrl.host,
        port: openUrl.port,
        open: false,

        proxy: {
            "/aiplatform": {
                target: "http://172.16.80.159:61100", // 要跨域的域名 10.44.0.3
                // target: "http://192.168.1.62:61100", // 要跨域的域名 10.44.0.3
                // target: "http://192.168.1.47:61100", // 要跨域的域名 10.44.0.3
                // target: "http://172.16.60.14:61100", // 要跨域的域名 10.44.0.3
                // target: "http://10.44.0.3:61100", // 要跨域的域名 10.44.0.3
                // target: "http://192.168.1.188:61100", // 要跨域的域名 10.44.0.3
                // target: "http://10.44.3.106:61100", // 要跨域的域名 10.44.0.3
                // target: "http://10.21.31.33:32648", // 要跨域的域名 10.44.0.3
                // target: "http://192.168.1.75:61100", // 要跨域的域名 10.44.0.3
                changeOrigin: true, // 是否开启跨域,
                pathRewrite: {
                    // '/image-identification': "/image-identification",
                    "/aiplatform": "/aiplatform"
                }
            },
            "/auth": {
                target: "http://172.16.80.159:61100/aiplatform", // 要跨域的域名
                // target: "http://192.168.1.62:61100/aiplatform", // 要跨域的域名
                // target: "http://192.168.1.47:61100/aiplatform", // 要跨域的域名
                // target: "http://172.16.60.14:61102/aiplatform", // 要跨域的域名
                // target: "http://10.44.0.3:61102/aiplatform", // 要跨域的域名
                // target: "http://192.168.1.188:61102/aiplatform", // 要跨域的域名
                // target: "http://10.44.3.106:61102/aiplatform", // 要跨域的域名
                // target: "http://10.21.31.33:32648/aiplatform", // 要跨域的域名
                // target: "http://192.168.1.75:61100/aiplatform", // 要跨域的域名
                changeOrigin: true, // 是否开启跨域,
                pathRewrite: {
                    // '/image-identification': "/image-identification",
                    "/auth": ""
                }
            },
        }
    },
    // 全局引入less变量
    pluginOptions: {
        "style-resources-loader": {
            preProcessor: "less",
            patterns: [path.resolve("./src/style/variables.less")]
        }
    },
    chainWebpack(config) {
        // config.module.rule('fonts').use('url-loader').loader('url-loader').tap(options => {
        //     // options['limit'] = 4096;
        //     // options['publicPath'] = './';
        //     // options['esModule'] = false;
        //     return options
        // })
        // 设置 svg-sprite-loader
        // config 为 webpack 配置对象
        // config.module 表示创建一个具名规则，以后用来修改规则
        config.module
            // 规则
            .rule("svg")
            // 忽略
            .exclude.add(resolve("src/modules/index/icons"))
            // 结束
            .end();
        // config.module 表示创建一个具名规则，以后用来修改规则
        config.module
            // 规则
            .rule("icons")
            // 正则，解析 .svg 格式文件
            .test(/\.svg$/)
            // 解析的文件
            .include.add(resolve("src/modules/index/icons"))
            // 结束
            .end()
            // 新增了一个解析的loader
            .use("svg-sprite-loader")
            // 具体的loader
            .loader("svg-sprite-loader")
            // loader 的配置
            .options({
                symbolId: "icon-[name]"
            })
            // 结束
            .end();
        config
            .plugin("ignore")
            .use(
                new webpack.ContextReplacementPlugin(
                    /moment[/\\]locale$/,
                    /zh-cn$/
                )
            );
        config.module
            .rule("icons")
            .test(/\.svg$/)
            .include.add(resolve("src/modules/index/icons"))
            .end()
            .use("svg-sprite-loader")
            .loader("svg-sprite-loader")
            .options({
                symbolId: "icon-[name]"
            })
            .end();
    },
    // 页面入口
    pages: getEntry()
};
